//
//  main.cpp
//  tree
//
//  Created by chenyh on 2021/2/5.
//

#include <iostream>

/*
 森林转化为二叉树:我们将森林的每棵树看成是有序排列的，从左至右称为第一棵树、 第二棵树等。将第一棵树称为初始树，以其为基础构建集合对应的二叉树。将森林中所有 的树转换成二叉树，方法是利用树的兄弟存储方法，“即将有兄弟结点作为左兄弟的右孩子 结点”。转变之后得到多个二叉树，“以第一棵二叉树的根结点为根结点，将第二棵二叉树 作为第一棵树的右子树，将第三棵树作为上一步生成的树的第二层右孩子结点的右子树”， 以次类推，“变化之后，二叉树的”左孩子表示孩子结点“，”右孩子表示兄弟结点“。森林转化 为二叉树是一个递归过程，直到森林为空时停止。如图 2-4 体现了森林与二叉树的转变 过程。
“二叉树转换为森林的过程是上面的转换过程的逆过程。”森林的第一棵树的根结点是二 叉树的根结点，“第一棵树由二叉树的左子树转换而来，”同样地，第二棵树由二叉树的第二 层的右孩子及其左子树转换而来，这是一个递归的过程直到二叉树为空“
 */
/**
 【例 2-1】一棵 5 层的完全二叉树，最多会有多少个结点?
 该题目就是考察根据树的深度估算树的结点数的知识点。根据树的性质 3:深
 h
 k 1
 度为 h 的 k 叉树(树的度为 k)最多有 k
  1 个结点，我们可以很轻易的得到该树最多有
 2 1=31个结点。所以答案是31个。

 深度为h的k叉树最多有
 kh次方-1
 -------
 k-1
 */
int main(int argc, const char * argv[]) {
    // insert code here...
    std::cout << "Hello, World!\n";
    return 0;
}
